package br.com.dwii.tpg2.entidade;

import br.com.dwii.tpg2.util.DBUtil;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Diego
 */
public class Contato {
    
    private Long id;
    private String nome;
    private String email;
    private String fone;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getFone() {
        return fone;
    }

    public void setFone(String fone) {
        this.fone = fone;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    
    public Long save() throws SQLException {
        Connection conn = DBUtil.getConnection();
        PreparedStatement ps = null;
        Long ret = 0L;
        try {
            ps = conn.prepareStatement("insert into contato (nome, email, fone) values(?, ?, ?)");
            ps.setString(1, this.nome.toUpperCase());
            ps.setString(2, this.email.toLowerCase());
            ps.setString(3, this.fone);
            ps.executeUpdate();
            ret = DBUtil.lastInsertedId("contato");
        } catch (SQLException ex) {
            Logger.getLogger(Contato.class.getName()).log(Level.SEVERE, null, ex);
            throw ex;
        } finally {
            ps.close();
            conn.close();
        }
        return ret;
    }
    
        // Metodo utilizado pela HOME, BUSCA e ADOTADOS para pegar as caracteristicas dos animais cadastrados
    public Contato contato(Long id) throws SQLException {
        Contato contato = new Contato();
        Connection conn = DBUtil.getConnection();
        Statement s = null;
        ResultSet rs = null;

        try {
            s = conn.createStatement();
            String sql = "select id, nome, email, fone from contato where id = " + id;
            rs = s.executeQuery(sql); 
            while (rs.next()) {
                contato.setId(rs.getLong(1));
                contato.setNome(rs.getString(2));
                contato.setEmail(rs.getString(3));
                contato.setFone(rs.getString(4));
            }

        } catch (SQLException ex) {
            Logger.getLogger(Contato.class.getName()).log(Level.SEVERE, null, ex);
            throw ex;
        } finally {
            s.close();
            rs.close();
            conn.close();
        }
        return contato;
    }

    
}
